package com.lonely.system.domain.vo.system.productionline;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author: 黄志标
 * @date: 2025/5/27 11:37
 * @description: 产线统计响应实体
 */
@Data
@Accessors(chain = true)
public class SysProductionLineStatsVo implements Serializable {

    /**
     * 总分组数
     */
    private int totalGroupNum = 0;

    /**
     * 职能组总数
     */
    private int totalFunctionPlGroupNum = 0;

    /**
     * 职能组总人数
     */
    private int totalFunctionPlEmployeeNum = 0;

    /**
     * 裁缝总组数
     */
    private int totalTailorPlGroupNum = 0;

    /**
     * 裁缝总人数
     */
    private int totalTailorPlEmployeeNum = 0;

    /**
     * 车缝总组数
     */
    private int totalSewingPlGroupNum = 0;

    /**
     * 车缝总人数
     */
    private int totalSewingPlEmployeeNum = 0;

    /**
     * 后整总组数
     */
    private int totalPostWholePlGroupNum = 0;

    /**
     * 后整总人数
     */
    private int totalPostWholePlEmployeeNum = 0;

    /**
     * 工厂名称
     */
    private String factoryName;

    /**
     * 职能类型统计
     */
    private List<SysProductionLineStatVo> functionPl = new ArrayList<>();

    /**
     * 裁剪类型统计
     */
    private List<SysProductionLineStatVo> tailorPl = new ArrayList<>();

    /**
     * 车缝类型统计
     */
    private List<SysProductionLineStatVo> sewingPl = new ArrayList<>();

    /**
     * 后整类型统计
     */
    private List<SysProductionLineStatVo> postWholePl = new ArrayList<>();


    /**
     * 工厂统计信息
     */
    @Data
    @Accessors(chain = true)
    public static class SysProductionLineStatVo implements Serializable {

        /**
         * 主键id
         */
        private Long id;

        /**
         * 产线名称
         */
        private String name;

        /**
         * 员工人数
         */
        private int employeeNum;

        /**
         * 产线类型
         */
        private int type;

        /**
         * 工厂id
         */
        private Long factoryId;

    }

}
